<?php
	//******************文章管理控制器******************
	class ArticleControl extends CommonControl{
		//保存模型属性
		public $model;
		//自动执行模型
		public function __auto(){
			$this -> model = K('Article');
		}

		//******************文章列表页******************
		public function index(){	
			//获得文章数据
			$this -> _get_arc(0);
			//载入模板
			$this -> display();
		}

		//******************获得文章数据******************
		private function _get_arc($isRecycle){
			//定义要获取的字段
			$field = 'aid,cid,title,attr,sendtime,updatetime,cname,author';
			//where条件
			$where = array('is_recycle'=>$isRecycle);
			//查找对应的分类文章
			$cid = Q('get.cid',0,'intval');
			//将cid压入where条件中
			if ($cid) $where['category_cid'] = $cid;
			//查找文章
			$data = K('ArticleCateView') -> get_all($where,$field);
			//取得分页信息
			$page = $data['page'];
			//分配分页变量
			$this -> assign('page',$page);
			//删除分页信息 防止循环出错
			unset($data['page']);
			//分配文章信息变量
			$this -> assign('data',$data);
		}

		//******************添加文章******************
		public function add(){
			//判断是否为POST提交
			if (IS_POST) {

				//执行自动完成
				$this -> model -> auto();
				//执行模型中的添加方法
				$this -> model -> add_data();
				//添加成功
				$this -> success('添加成功',U('index'));
			}

			//执行标签模型
			$tagmodel = K('Tag');
			//获得标签缓存
			$tag = $tagmodel -> allTag;
			//分配变量
			$this -> assign('tag',$tag);
			//执行分类模型
			$cateModel = K('Category');
			//获得所有分类
			$cate = $cateModel -> allCate;
			//目录树
			$cate = Data::tree($cate,'cname','cid');
			//分配变量
			$this -> assign('cate',$cate);
			//载入模板
			$this -> display();
		}

		//******************文章编辑******************
		public function edit(){
			//判断是否为post提交
			if (IS_POST) {
				//-----------修改主表数据-----------
				//执行自动完成方法
				//执行自动完成
				$this -> model -> auto();
				//执行模型中的修改方法
				$this -> model -> edit();
				//提示修改成功
				$this -> success('修改成功',U('index'));
			}

			//获得aid
			$aid = Q('get.aid',0,'intval');
			//-----------获得文章主表旧数据-----------
			$oldArc = K('ArticleCateView') -> get_old_data($aid);
			//组合图片路径
			$oldArc['thumb'] = __ROOT__ . '/' . $oldArc['thumb'];
			//将属性组合成数组
			$oldArc['attr'] = explode(',', $oldArc['attr']);
			$this -> assign('oldArc',$oldArc);

			//-----------获得文章附表旧数据-----------
			$oldData = K('ArticleData') -> get_data($aid);
			$this -> assign('oldData',$oldData);

			//-----------获得标签-----------
			$oldTag = K('ArticleTag') -> get_data($aid);
			//临时数组
			$tempTag = array();
			//循环获得标签
			foreach ($oldTag as $v) {
				//将标签中的tid压入临时数组中
				$tempTag[] = $v['tag_tid'];
			}
			$this -> assign('tempTag',$tempTag);

			//-----------获得所有分类-----------
			$cate = K('Category') -> allCate;
			//目录树
			$cate = Data::tree($cate,'cname','cid');
			//分配变量
			$this -> assign('cate',$cate);

			//-----------获得标签缓存-----------
			$tag = K('Tag') -> allTag;
			//分配变量
			$this -> assign('tag',$tag);

			//载入模板
			$this -> display();
		}

		//******************回收站******************
		public function recycle(){
			//获得回收站文章数据
			$this -> _get_arc(1);
			//载入模板
			$this -> display();
		}

		//******************文章删除到回收站******************
		public function false_del(){
			//获得要删除的aid
			$aid = Q('get.aid',0,'intval');
			//执行模型中的修改数据方法
			$this -> model -> modify_data($aid,1);
			//删除成功
			$this -> success('删除成功',U('index'));
		}

		//******************还原回收站文章******************
		public function restore(){
			//获得要还原的aid
			$aid = Q('get.aid',0,'intval');
			//执行模型中的修改数据方法
			$this -> model -> modify_data($aid,0);
			//还原成功
			$this -> success('还原成功',U('index'));
		}

		//******************删除回收站文章******************
		public function true_del(){
			//获得要删除的aid
			$aid = Q('get.aid',0,'intval');
			//执行模型中的删除方法
			$this -> model -> del_data($aid);
			//删除成功
			$this -> success('删除成功',U('recycle'));
		}

		//******************异步删除缩略图******************
		public function del_img(){
			//判断是否为ajax
			if(!IS_AJAX) return;
			//-----------------删除图片-----------------
			//获得图片地址
			$imgSrc = Q('post.is_del');
			//删除图片原图和缩略图
			$imgSrc = str_replace(__ROOT__, ROOT_PATH, $imgSrc);
			unlink($imgSrc);
			//获得源图路径
			$sourcePath = str_replace(C('THUMB_ENDFIX'), '', $imgSrc);
			//删除源图
			$sourcePath = str_replace(__ROOT__, ROOT_PATH, $sourcePath);
			unlink($sourcePath);

			//-----------------删除数据库中的缩略图信息-----------------
			//获得aid
			$aid = Q('post.aid',0,'intval');
			//执行模型中的删除方法
			$this -> model -> del_img($aid);

			echo 1;
		}
	}
?>